package com.yh.common.utils;

import cn.hutool.core.map.MapUtil;
import com.yh.common.constant.Constant;
import com.yh.common.exception.RRException;
import com.yh.shiro.ShiroUtils;

import java.util.Map;

/**
 * @Author: skh
 * @Date: 2018/12/7 16:25
 * @Description: 数据权限过滤
 */
public class DataFilterUtil {

    //判断是否是超级管理员,如果是,则查询全部,否则查询相应部门的数据
    public static Integer getDeptId(Map<String, Object> params) {
        Integer deptId;
        int userId =  Math.toIntExact(ShiroUtils.getUserId());
        if (userId == (Constant.SUPER_ADMIN)) {
            deptId = MapUtil.getInt(params, "deptId"); //该deptId是从页面传递过来.
        } else {
            deptId = Math.toIntExact(ShiroUtils.getDeptId());
            if (deptId == null) {
                throw new RRException("该用户尚未设置公司,请管理员先设置公司");
            }
        }
        return deptId;
    }
}
